﻿using System;
using SharpSqlAnalyzer.pp.para.styleenums;
using SharpSqlAnalyzer.pp.processor;
using SharpSqlAnalyzer.pp.stmtformatter.type;
using SharpSqlAnalyzer.pp.stmtformatter.type.comm;

namespace SharpSqlAnalyzer.pp.stmtformatter.builder.comm
{
	// Token: 0x02000220 RID: 544
	public class ExecuteStmtFormatterBuilder : AbstractStmtFormatterBuilder
	{
		// Token: 0x0600126F RID: 4719 RVA: 0x00319024 File Offset: 0x00317224
		protected internal override void initSpecialProcessorForFormatter(AbstractStmtFormatter formatterArg)
		{
			ExecuteStmtFormatter executeStmtFormatter = formatterArg as ExecuteStmtFormatter;
			executeStmtFormatter.addSpecialProcessor(ProcessorFactory.createCapitalisationProcessor(this.Option));
			executeStmtFormatter.addSpecialProcessor(ProcessorFactory.createCombineWhitespaceAndClearReturnProcessor(this.Option));
			executeStmtFormatter.addSpecialProcessor(ProcessorFactory.createExecParaNewLineProcessor(this.Option, new bool?(this.Option.linebreakBeforeParamInExec)));
			executeStmtFormatter.addParaListProcessor(ProcessorFactory.createColumnlistCommaProcessor(this.Option, TLinefeedsCommaOption.LfAfterComma, this.Option.linebreakBeforeParamInExec ? TAlignStyle.AsStacked : TAlignStyle.AsWrapped));
		}

		// Token: 0x06001270 RID: 4720 RVA: 0x0031909C File Offset: 0x0031729C
		protected internal override AbstractStmtFormatter newInstanceFormatter()
		{
			return new ExecuteStmtFormatter();
		}
	}
}
